package com.ztgf.order.models.vo.purchase;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;
import java.util.List;

/**
 * 采购商品表VO
 *
 * @author mxli
 * @Date 2021-05-17 10:16:25
 */
@Data
public class PurchaseCommodityVO implements Serializable {
    @ApiModelProperty(value = "主键")
    private Long id;
    @ApiModelProperty(value = "乐观锁")
    private Integer revision;
    @ApiModelProperty(value = "创建人")
    private Long createUserId;
    @ApiModelProperty(value = "更新人")
    private Long updateUserId;
    @ApiModelProperty(value = "采购id")
    private Long purchaseId;
    @ApiModelProperty(value = "商品id")
    private Long commodityId;
    @ApiModelProperty(value = "商品url")
    private String commodityUrl;
    @ApiModelProperty(value = "商品logourl")
    private String commodityLogoUrl;
    @ApiModelProperty(value = "品牌id")
    private Long brandId;
    @ApiModelProperty(value = "品牌名称")
    private String brandName;
    @ApiModelProperty(value = "商品名称")
    private String commodityName;
    @ApiModelProperty(value = "规格型号")
    private String specificationModel;
    @ApiModelProperty(value = "类型 0虚拟商品、1平台商品")
    private Integer type;
    @ApiModelProperty(value = "数量")
    private Integer num;
    @ApiModelProperty(value = "质保时间：单位月")
    private Integer warranty;
    @ApiModelProperty(value = "收货人")
    private String receiveName;
    @ApiModelProperty(value = "收货人电话")
    private String receiveMobile;
    @ApiModelProperty(value = "收货人区域id")
    private Long receiveAreaId;
    @ApiModelProperty(value = "收货人区域名称")
    private String receiveAreaName;
    @ApiModelProperty(value = "收货人地址")
    private String receiveAddress;
    @ApiModelProperty(value = "预计收货时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")//gosn
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")//fastjson
    private Date receiveExpectedTime;
    @ApiModelProperty(value = "是否可以接受预售商品0不接受，1接受")
    private Integer presaleStatus;
    @ApiModelProperty(value = "详情")
    private String remark;
    @ApiModelProperty(value = "单价")
    private BigDecimal price;
    @ApiModelProperty(value = "总价")
    private BigDecimal totalPrice;
    @ApiModelProperty(value = "报价状态：0报价中、1报价结束、2取消报价、3流标")
    private Integer bargainStatus;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")//gosn
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")//fastjson
    private Date createTime;
    @ApiModelProperty(value = "更新时间")
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")//gosn
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")//fastjson
    private Date updateTime;

    @ApiModelProperty(value = "最低单价")
    private BigDecimal minPrice = BigDecimal.ZERO;
    @ApiModelProperty(value = "发货时间")
    private Integer sendDays;
    @ApiModelProperty(value = "是否价格变动：0未变动、1有变动")
    private Integer newBargainStatus;
    @ApiModelProperty(value = "报价店铺数据")
    private Integer shopNums;
    @ApiModelProperty(value = "报价次数：1次报价、2次报价、3次报价")
    private Integer bargainPriceTimes = 1;
    @ApiModelProperty(value = "待报价次数：1次报价、2次报价、3次报价")
    private Integer waitBargainPriceTimes = 1;

    @ApiModelProperty(value = "是否可报价：0不可报价、1可报价")
    private Integer quotableStatus;
    @ApiModelProperty(value = "报价列表")
    List<PurchaseCommodityBargainVO> bargainVOList;

    @ApiModelProperty(value = "申请平台砍价服务费")
    private BigDecimal purchaseFeeMoney;
    @ApiModelProperty(value = "平台砍价服务费根据商品扣除")
    private BigDecimal purchaseFeeMoneyScale;

    @ApiModelProperty(value = "最新价格")
    private BigDecimal newPrice;
    @ApiModelProperty(value = "创建名字")
    private String createUserName;
    @ApiModelProperty(value = "更新人名字")
    private String updateUserName;
    @ApiModelProperty(value = "首款比例")
    private BigDecimal fristScale;
    @ApiModelProperty(value = "尾款比例")
    private BigDecimal finalScale;

    @ApiModelProperty(value = "购买单价")
    private BigDecimal buyPrice = BigDecimal.ZERO;

    @ApiModelProperty(value = "平台砍价议价类型：0未议价，1已议价")
    private Integer platBargainType;

    @ApiModelProperty(value = "pdf路径")
    private String pdfUrl;
    @ApiModelProperty(value = "商品图片url")
    private String commodityImgUrl;

}
